/**
 * 在原型式继承的基础上，把创建新对象的过程封装成一个函数，在函数里可以给新对象添加成员
 *
 * 特点
 *  ● 不需要创建构造函数
 *  ● 所有实例对象共享继承的成员
 *  ● 在函数里给新对象添加的成员方法不能复用
 */
var parent = {
  instanceAttr: 'instanceAttr',
  instanceFn: function () {
    console.log('instanceFn')
  }
}

function createChild(origin, childAttr) {
  var child = Object.create(origin)
  child.childAttr = childAttr
  child.childFn = function () {
    console.log('childFn')
  }
  return child
}

var child = createChild(parent, 'childAttr')
console.log(child.instanceAttr)
child.instanceFn()
console.log(child.childAttr)
child.childFn()
